package com.lzy.chat.b_mapper;

import com.lzy.chat.a_entity.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {

    /**
     * 插入用户数据
     *
     * @param user 用户对象
     */
    Integer insertUser(User user);

    /**
     * 通过id获取用户
     *
     * @param id id
     * @return 用户对象
     */
    User getUserById(Integer id);

    /**
     * 通过名字搜索用户
     *
     * @param keyword 用户名
     * @return 用户list
     */
    List<User> getUserByName(String keyword);

    /**
     * 更新用户信息
     *
     * @param user 用户对象
     * @return 影响行数
     */
    Integer updateUser(User user);

    /**
     * 更新用户密码
     *
     * @param password 密码
     * @return 影响行数
     */
    Integer updateUserPassword(Integer id, String password);

    /**
     * 通过邮箱搜索用户
     *
     * @param email 用户邮箱
     * @return 用户id
     */
    Integer getUserByEmail(String email);

    /**
     * 通过邮箱搜索用户
     *
     * @param phone 用户电话
     * @return 用户id
     */
    Integer getUserByPhone(String phone);
}
